本文描述了当前已安装的内核失败后，改如何恢复到上个版本已安装内核。

## Contents

*   [1 从安装光盘启动](#.E4.BB.8E.E5.AE.89.E8.A3.85.E5.85.89.E7.9B.98.E5.90.AF.E5.8A.A8)
*   [2 Chroot到你的目标系统](#Chroot.E5.88.B0.E4.BD.A0.E7.9A.84.E7.9B.AE.E6.A0.87.E7.B3.BB.E7.BB.9F)
*   [3 恢复到上一个版本内核](#.E6.81.A2.E5.A4.8D.E5.88.B0.E4.B8.8A.E4.B8.80.E4.B8.AA.E7.89.88.E6.9C.AC.E5.86.85.E6.A0.B8)
*   [4 重启动](#.E9.87.8D.E5.90.AF.E5.8A.A8)

## 从安装光盘启动

第一个步骤是启动安装光盘。启动后，输入arch，就像平常安装arch一样。

```
# arch

```

## Chroot到你的目标系统

启动后，你会进入到一个有少量基础工具的迷你Linux环境。 现在，可以将你的目标系统挂载到/mnt。

```
# mount /dev/hdXY /mnt

```

如果你使用了启动分区，别忘了也挂载它。

```
# mount /dev/hdaXY /mnt/boot

```

较新的内核都使用一个初始ramdisk来建立内核环境。当你重装一个内核，就需要用mkinitcpio重新生成这个初始ramdisk。mkinitcpio的一个特性就是它可以自动检测启动你的计算机需要哪些内核模块。要使自动检测可以正常运行，/dev、/sys和/proc都需要挂载到你的chroot里：

```
# mount -t proc none /mnt/proc
# mount -t sysfs none /mnt/sys
# mount --bind /dev /mnt/dev

```

现在，我们将chroot到这个磁盘中，这样你就可以象“正常启动计算机之后”一样用它。当然，很多事还是做不了的。

```
# chroot /mnt

```

## 恢复到上一个版本内核

如果你保留了pacman下载过的软件包，现在就可以很容易的恢复了。如果没有，你就得找个法子将旧版本内核弄到你的系统里来。

假设你还保留了旧版本。我们将马上安装最近一个可用的版本。

```
# pacman -U /var/cache/pacman/pkg/kernel26-2.6.16.13-1.pkg.tar.gz

```

也许你还得将版本号改为最近一个可用的版本，不过这没多大区别。

## 重启动

现在可用的内核已经安装完毕，你可以安全的重启你的PC，然后象平常一样进入系统。 别忘了看看arch-newspage，检查这个内核到底哪里出了问题。